<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>统一地图平台</title><link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    <style>
        html,
        body,
        #mapui {
            width: 100%;
            height: 100%;
        }

        html,
        body {
            margin: 0;
            padding: 0;
        }
    </style>
</head>

<body>
    <div id="mapui"></div>
    <button type="button" onclick="change()" style="position: absolute;top: 10px;right: 10px;">切换样式</button>

    <script src="./js_example/script/map.min.js"></script>
    <script src="./js_example/script/demo.js"></script>
    <script>
        var amap = null;
        var that = this;
        var mapvLayer = null;

        // 内网地图
        // map.Config.SERVICE_URL = "http://172.16.119.79:9010/service";
        // map.Config.MineAccessToken = "9d7450722a8448d6b9087f68e2444ebf";
        // map.Config.BaseUrl = "http://172.16.119.79:9010/";
        // map.Config.SRC_URL = "http://172.16.119.79:9010//minemapapi/v2.0.0/";
        // map.Config.API_URL = "http://172.16.119.79:9010//data";
        // map.Config.DYN_URL = "http://172.16.119.79:9010//dynamicdata";
        // map.Config.MERGE_URL = "http://172.16.119.79:9010//mergeddata";
        // map.Config.OTHER_URL = "http://172.16.119.79:9010//otherdata";
        // map.Config.REQUIRE_ACCESS_TOKEN = true;
        // map.Config.DATA_VERSION = "";
        // map.Config.SERVICE_VERSION = 3.1;
        // style = "http://172.16.119.79:9010/service/solu/style/id/design"; //浅色矢量地图
        // map.Factory.create('mapui', {
        //     style: style,
        //     center: [113.26388, 23.12946], //广州
        //     zoom: 11,
        //     strategy: ["mapboxgl", "openlayers", "leaflet"],
        //     fullExtent: {
        //         xmin: 105.992204,
        //         ymin: 36.979711,
        //         xmax: 109.5338915,
        //         ymax: 39.543712,
        //     },
        // }, (o) => {
        //     amap = o;
        //     map.Factory.loadSpecialMap('mapv', () => {
        //         that.init(amap);
        //     })
        // });


        map.Factory.create('mapui', {
            center: [106.17609405517578, 35.41583177128595],
            fullExtent: {
                xmin: 90.992204,
                ymin: 10.979711,
                xmax: 120.5338915,
                ymax: 50.543712
            },
            zoom: 5,
            projection: 'EPSG:4326',
            strategy: ['mapboxgl', 'openlayers'],
            style: style
        }, (o) => {
            amap = o;
            map.Factory.loadSpecialMap('mapv', () => {
                that.init(amap);
            })
        });


        function init(map) {
            var randomCount = 1000;

            var data = [];

            var citys = ["北京", "天津", "上海", "重庆", "石家庄", "太原", "呼和浩特", "哈尔滨", "长春", "沈阳", "济南", "南京", "合肥", "杭州", "南昌", "福州", "郑州", "武汉", "长沙", "广州", "南宁", "西安", "银川", "兰州", "西宁", "乌鲁木齐", "成都", "贵阳", "昆明", "拉萨", "海口"];

            // 构造数据
            while (randomCount--) {
                var cityCenter = special_mapv.utilCityCenter.getCenterByCityName(citys[parseInt(Math.random() * citys.length)]);
                data.push({
                    geometry: {
                        type: 'Point',
                        coordinates: [cityCenter.lng - 2 + Math.random() * 4, cityCenter.lat - 2 + Math.random() * 4]
                    },
                    count: 30 * Math.random(),
                    time: 100 * Math.random()
                });
            }

            var dataSet = new special_mapv.DataSet(data);

            var options = {
                size: 13,
                gradient: { 0.25: "rgb(0,0,255)", 0.55: "rgb(0,255,0)", 0.85: "yellow", 1.0: "rgb(255,0,0)" },
                max: 60,
                animation: {
                    type: 'time',
                    stepsRange: {
                        start: 0,
                        end: 100
                    },
                    trails: 10,
                    duration: 4,
                },
                // range: [0, 100], // 过滤显示数据范围
                // minOpacity: 0.5, // 热力图透明度
                // maxOpacity: 1,
                draw: 'heatmap'
            }




            mapvLayer = new special_mapv.FmLayer(amap, dataSet, options);
        }

        function change() {
            var player = mapvLayer.player;

            var options = {
                max: 30, // 设置显示的权重最大值
                type: 'circle', // 点形状,可选circle:圆形(默认),rect:矩形
                size: 10, // 半径大小
                maxOpacity: 0.9,
                gradient: { // 显示的颜色渐变范围
                    '0': 'blue',
                    '0.6': 'cyan',
                    '0.7': 'lime',
                    '0.8': 'yellow',
                    '1.0': 'red'
                },
                draw: 'heatmap',
                projection: 'EPSG:4326',
            };

            var opt = { data: player.getData(), options: options }

            player.update(opt);

        }
    </script>
</body>

</html>